package com.atguigu.gulimall.member;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;


/*
尝试调用远程服务
    1、想要远程调用别的服务
        - 引入 open-feign
        - 编写接口，告诉 springcloud 这个接口需要调用远程服务（统一放在feign包下，方便统一管理
            -接口名字上面 加上@FeignClient("gulimall-coupon/") 调用nacos的哪一个微服务
            @RequestMapping("coupon/coupon/member/list")
            public R membercoupons();   //方法的声明加上来
        - 开启远程调用功能
            在要用到远程调用的application上加上
            @EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")

其实很好记 扫描的包 对应nacos哪个服务 以及路径 方法声明 写对就行

配置中心：
    需要动态获取配置值的control上面加@RefreshScope
另外 在配置springcloud的配置文件时，记得 bootstrap.properties的优先级大于 application.properties大于 application.yml
步骤：
    1、引入依赖 nacos-config那个
    2、新建bootstrap.properties 文件指向 配置好 当前配置名字 和 地址
    3、nacos配置中心添加数据集
    4、添加配置 （要动态@RefreshScope和@Value(${配置项})

细节：
    1、命名空间
        默认：public 默认新增都在这
        作用：开发、测试、生产：修改配置文件里的 spring.cloud.nacos.config.namespace和group来指定uuid
        一般操作是 每个微服务用namespace区分开，然后group区分环境 如dev test prod等
    2、配置集（可以选用多个 对本地配置文件进行拆分之后 传到nacos上
        使用spring.cloud.nacos.config.ext-config[0].data_id=
                                                    .group=
                                                    .refresh=true
            spring.cloud.nacos.config.ext-config[1].data_id
            这样来指定多个配置集
    3、配置集ID
    4、配置分组

可以同时加载多个配置集
*/
@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")
@SpringBootApplication
public class GulimallMemberApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }

}
